package com.yy.common.utils.video;//package com.yy.common.utils.video;
//
//import org.apache.commons.fileupload.FileItem;
//import org.apache.commons.fileupload.FileItemFactory;
//import org.apache.commons.fileupload.disk.DiskFileItemFactory;
//import org.apache.commons.lang.RandomStringUtils;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.web.multipart.MultipartFile;
//import org.springframework.web.multipart.commons.CommonsMultipartFile;
//
//
//import java.io.*;
//import java.net.HttpURLConnection;
//import java.net.URL;
//
///**
// * ClassName: UrlToMultipartFile
// * Package: com.yy.common.utils.video
// * Description:
// *
// * @Author yy
// * @Create 2023-12-12 13:33
// * @Version 1.0
// */
//public class UrlToMultipartFile {
//
//    private static final Logger LOGGER = LoggerFactory.getLogger(UrlToMultipartFile.class);
//
//    /**
//     * inputStream 转 File
//     */
//    public static File inputStreamToFile(InputStream ins, String name) throws Exception {
//        //System.getProperty("java.io.tmpdir")临时目录+File.separator目录中间的间隔符+文件名
//        File file = new File(System.getProperty("java.io.tmpdir") + File.separator + name);
//        OutputStream os = new FileOutputStream(file);
//        int bytesRead;
//        int len = 8192;
//        byte[] buffer = new byte[len];
//        while ((bytesRead = ins.read(buffer, 0, len)) != -1) {
//            os.write(buffer, 0, bytesRead);
//        }
//        os.close();
//        ins.close();
//        return file;
//    }
//
//    /**
//     * file转multipartFile
//     */
//    public static MultipartFile fileToMultipartFile(File file) {
//        FileItemFactory factory = new DiskFileItemFactory(16, null);
//        FileItem item = factory.createItem(file.getName(), "text/plain", true, file.getName());
//        int bytesRead = 0;
//        byte[] buffer = new byte[8192];
//        try {
//            FileInputStream fis = new FileInputStream(file);
//            OutputStream os = item.getOutputStream();
//            while ((bytesRead = fis.read(buffer, 0, 8192)) != -1) {
//                os.write(buffer, 0, bytesRead);
//            }
//            os.close();
//            fis.close();
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//        return new CommonsMultipartFile(item);
//    }
//
//    //url转MultipartFile
//    public static MultipartFile urlToMultipartFile(String url) throws Exception {
//        File file = null;
//        MultipartFile multipartFile = null;
//        try {
//            HttpURLConnection httpUrl = (HttpURLConnection) new URL(url).openConnection();
//            httpUrl.connect();
//            file = UrlToMultipartFile.inputStreamToFile(httpUrl.getInputStream(), RandomStringUtils.randomAlphanumeric(8) + ".mp4");
//            LOGGER.info("---------" + file + "-------------");
//
//            multipartFile = UrlToMultipartFile.fileToMultipartFile(file);
//            httpUrl.disconnect();
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return multipartFile;
//    }
//
//}